﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace MyVideoTek
{
    public partial class ModifierFilm : Form
    {
        //Attributs
        private int idFilm;
        string src;
        int idFilmCourant;

        //Attributs
        private string titreFilm;
        private string description;
        private string afficheFilm;
        private string afficheFilmAllocine;
        private List<String> lesGenres;
        private string dateRealisationFilm;



        public ModifierFilm(string titreFilm)
        {
            InitializeComponent();

            AfficheInfoFilm(titreFilm);

            Film unFilm = new Film(titreFilm);
            unFilm.GetFilmByName();
            this.idFilmCourant  = unFilm.IdFilm;

            Fichier unFichier = new Fichier(null, null, this.idFilmCourant);
            this.src = unFichier.Path;
        }

        private void AfficheInfoFilm(string titreFilm)
        {
            //Recupère un film
            Film unFilm = new Film(titreFilm);

            //Affiche les infos du film
            SAITitreFilm.Text = unFilm.TitreFilm;
            SAIDescriptionFilm.Text = unFilm.Description;
            PictureAfficheFilm.ImageLocation = unFilm.AfficheFilm;
            this.idFilm = unFilm.IdFilm;
        }

        private void BTNUpDateAffichage_Click(object sender, EventArgs e)
        {
            //Recherche de film
            ApiAllocine api = new ApiAllocine();
            api.GetIdFilmByName(SAITitreFilm.Text);
/*
            //Assignation
            titreFilm = api.TitreFilm;
            description = api.Description;
            afficheFilm = api.AfficheFilm;
            afficheFilmAllocine = api.AfficheFilmAllocine;
            lesGenres = new List<string>();
            lesGenres = api.LesGenres;
            dateRealisationFilm = api.DateRealisationFilm;

            //Affichage
            SAITitreFilm.Text = titreFilm;
            SAIDescriptionFilm.Text = description;
            PictureAfficheFilm.ImageLocation = afficheFilmAllocine;
 * */
        }

        private void BTNAppliquer_Click(object sender, EventArgs e)
        {
            /*
            //Variable
            string codeFilm = SAIUrlAllocine.Text;

            //Recupère le code contenu dans l'URL
            codeFilm = Regex.Match(SAIUrlAllocine.Text, "([0-9]+).html").Captures[0].ToString();
            codeFilm = codeFilm.Replace(".html", null);

            //Recupère le film
            ApiAllocine ApiAllo = new ApiAllocine();
            ApiAllo.GetInfoFilmByName(codeFilm, SAITitreFilm.Text);

            //Assignation
            titreFilm = ApiAllo.TitreFilm;
            description = ApiAllo.Description;
            afficheFilm = ApiAllo.AfficheFilm;
            afficheFilmAllocine = ApiAllo.AfficheFilmAllocine;
            lesGenres = new List<string>();
            lesGenres = ApiAllo.LesGenres;
            dateRealisationFilm = ApiAllo.DateRealisationFilm;

            //Affichage
            PictureAfficheFilm.ImageLocation = afficheFilmAllocine;
            SAIDescriptionFilm.Text = description;
             * */
        }

        private void BTNQuitter_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        private void ValiderModification()
        {
            //Supprime les genres d'un film
            SqlDataAbstract sql = new SqlDataAbstract();

            //Supprime le film
            sql.DeleteFilmById(this.idFilmCourant);
            
            //Liste de tous les genres du film
            List<Genre> listeGenre = new List<Genre>();
            
            //Assignation des nouveaux genres
            foreach(String unGenre in lesGenres)
            {
             //   listeGenre.Add(new Genre(unGenre));
            }

            //film
          //  Film unFilm = new Film(titreFilm, description, afficheFilm, afficheFilmAllocine, listeGenre, dateRealisationFilm);
        }

        private void BTNEnregistrer_Click(object sender, EventArgs e)
        {
            this.ValiderModification();

            this.Dispose();
        }
 
    }
}
